<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<!-- $Id$ -->
  <title>CIAO - Component-Integrated ACE ORB</title>
</head>
<body>
<h1>CIAO - Component-Integrated ACE ORB</h1>
<h2>Introduction</h2>
CIAO is TAO's implementation of <a
 href="http://www.omg.org/cgi-bin/doc?formal/02-06-65"> CORBA Component
Model (CCM)</a> specially optimized for distributed real-time embedded
(DRE) systems.
This page contains links to other documents and resources for building
and using CIAO.<br>
<br>
<hr>
<h2>The CIAO Project</h2>
<ul>
  <li>The main <a href="http://www.cs.wustl.edu/%7Eschmidt/CIAO.html">
CIAO project page</a>.</li>
  <li><a href="../CIAO-INSTALL.html">Installation instructions</a> for
CIAO<br>
  </li>
  <li>CIAO <a href="releasenotes/index.html">Status (aka. release
notes.)</a></li>
  <li>CIAO <a href="cidlc.html">CIDL Compiler Options</a><br>
  <li>CIAO <a href="EnvVars.html">Environment Variables</a> <br>
  </li>
  <li>CIAO <a href="Trace.html">Logging Facility</a><br>
  </li>
  <li>CIAO <a href="../NEWS">NEWS</a></li>
</ul>
<hr>
<ul>
</ul>
<ul>
  <p><!--      

  <li>This <a href="new_components.html">page on implementing new

      component</a> explains all the user-defined and tool-generated

      files when implementing a component.<p>



  <li>The <a href="ConfigValues.html">Configuration Name/Value

      lists</a> lists all the configuration values that CIAO will pass

      into vaious CCM mechanisms.  The information shown in this page

      is not visible to CIAO end-users, which include modeling tool

      developers.  The information that matters for most users is how

      these configurations are represented in various XML

      descriptors and CIDL specifications.<p>

-->
  </p>
</ul>
<h2>CCM-defined Interface Diagrams</h2>
Here is a set of UML diagrams that we use to figure out the
relationship among all the different interfaces in CCM. You can
browse the related part from the following list:
<ul>
  <li><a href="imgs/component-basic.png"> Basic component interfaces </a></li>
  <li><a href="imgs/home-config.png"> Home and configuration interfaces
    </a></li>
  <li><a href="imgs/basic-container.png"> Basic container interfaces </a></li>
  <li><a href="imgs/extended-container.png"> Extended container
interfaces </a></li>
  <li><a href="imgs/DAnCE-Dynamic.png"> Deployment and configuration
(DAnCE) interfaces </a></li>
</ul>
All these diagrams are generated from the <a href="imgs/CCM.vsd">CCM.vsd
Visio file</a> (The same file in Visio V.5 format is <a
 href="imgs/CCM-v5.vsd">here</a>.) and OpenOffice source file 
 <a href="imgs/DAnCE-Dynamic.sxd">DAnCE-Dynamic.sxd</a> <br>
<br>
<hr>
<h2>CIAO's D&C Framework (<a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/dance/index.html">DAnCE</a>) part-by-part</h2>
DAnCE's implementation is based on the OMG's Deployment and Configuration
Specification version [ptc/2003-07-08]. Here is a list of the major
actors of CIAO runtime that a user should be aware of.
<ul>
  <li><strong>NodeManager:</strong>
A daemon process responsible for managing NodeApplications that reside
in the same physical node.</li>
  <p> </p>
  <li><strong>NodeApplicationManager:</strong>
A infrastructure component responsible for deploying&nbsp;
locality-constrained applications onto a node. A NodeApplicationManager
is usually created by NodeManager.<br>
  </li>
  <p> </p>
  <li><strong>NodeApplication:</strong>
A component server instance spawned by NodeApplicationManager. <br>
  </li>
  <p> </p>
  <li><strong>ExecutionManager:</strong>
Infrastructure component responsible for executing an component-based
DRE application based on the information from DeploymentPlan.</li>
  <p> </p>
  <li><strong>DomainApplicationManager</strong>:
Domain-oriented auxiliary component created and used by
ExecutionManager to deploy the component-based DRE application at the
domain level. <br>
    <br>
  </li>
  <li><strong>PlanLauncher</strong></strong>:
Executor component responsible for parsing the XML-based
deploymentplan and passing the plan to ExecutionManager for execution.<br>
    <br>
To understand the runtime inter-relationships of various CIAO actors,
you may click <a href="imgs/DAnCE-Dynamic.png">here</a> to see a
sequence diagram that gives you a clear representation of what's
happening when you start a DAnCE-based DRE application. Special thanks
to <a href="mailto:Friedhelm.wolf@gmx.de">Friedhelm Wolf</a> who
initiated and contributed most part of this
diagram.<br>
    <br>
  </li>
</ul>
<hr>
<h2>CIAO CCM tutorials</h2>
There are several tutorials to help you understand CIAO and CCM:
<ul>
  <li> <a
 href="http://www.cs.wustl.edu/%7Eschmidt/OMG-CCM-Tutorial.ppt">Tutorial
on the CORBA Component Model (CCM)</a>. This tutorial presents an
overview of the CORBA Component Model (CCM),
describing its key features and illustrating how to write CCM
applications in C++.
    <p> </p>
  </li>
  <li><a href="../examples/Hello"><code>$(CIAO_ROOT)/DAnCE/examples/Hello.</code></a>
This example illustrates how to build and deploy a CIAO based
application <a href="../examples/Hello/step-by-step.html">step-by-step</a>.
There is
also a detailed documentation explaining this example avalable in both <a
 href="http://www.dre.vanderbilt.edu/%7Edengg/CCM/CCM_Hello_example.pdf">PDF</a>
and <a
 href="http://www.dre.vanderbilt.edu/%7Edengg/CCM/CCM_Hello_example.ppt">
PowerPoint</a> format.<br>
    <br>
  </li>
  <li><a href="./tutorials/Quoter/Simple">$(CIAO_ROOT)/docs/tutorials/Quoter/Simple</a>.
This example illustrates the implementation of the "famous" Quoter
example in the CIAO world. Please refer to <a
 href="tutorials/Quoter/Simple/README.html">README</a> for more
information.&nbsp; </li> <P>

<li><a
href="./tutorials/CoSMIC/">$(CIAO_ROOT)/docs/tutorials/COSMIC/</a>.
This is a step-by-step tutorial on how to use CoSMIC to
generate deployment descriptors requied by the above  <a
href="./tutorials/Quoter/Simple">Quoter</a> example </li>

</ul>
<!--#include virtual="/~nanbor/signature.html" --><!-- <hr> --><!-- <\!-- hhmts start -\-> --><!-- Last modified: Mon Nov 04 07:55:22 Central Standard Time 2002 --><!-- <\!-- hhmts end -\-> -->
<!-- <address>Nanbor Wang &lt;nanbor@cs.wustl.edu&gt;</address> --><!--  LocalWords:  CCM UML vsd Visio

 -->
</body>
</html>
